home *** CD-ROM | disk | FTP | other *** search
/ Champak 141 / (Vol 141) Oct 17 2011.iso / Games / flight-of-the-museum.swf / scripts / engine / dynamicObjects / TentacleSegment.as < prev   
Encoding:
Text File  |  2011-10-17  |  2.3 KB  |  89 lines

  1. package engine.dynamicObjects
  2. {
  3.    import flash.display.BitmapData;
  4.    
  5.    public class TentacleSegment extends DynamicObject
  6.    {
  7.        
  8.       
  9.       public var tentacleR:Number = 0;
  10.       
  11.       public var rOffsetBase:Number = 0;
  12.       
  13.       public var prevSeg:TentacleSegment;
  14.       
  15.       private var _localR:Number = 0;
  16.       
  17.       public var rOffsetRand:Number = 0;
  18.       
  19.       public var rDamp:Number = 1;
  20.       
  21.       public var segLength:Number = 0;
  22.       
  23.       public var segX:Number = 0;
  24.       
  25.       public var segY:Number = 0;
  26.       
  27.       public var rOffset:Number = 0;
  28.       
  29.       public var sinVel:Number;
  30.       
  31.       public var sinNum:Number;
  32.       
  33.       public var segAngleOffset:Number = 0;
  34.       
  35.       public var segNum:Number;
  36.       
  37.       public function TentacleSegment(bmd:BitmapData)
  38.       {
  39.          segX = 0;
  40.          segY = 0;
  41.          rOffsetRand = 0;
  42.          rOffset = 0;
  43.          _localR = 0;
  44.          rOffsetBase = 0;
  45.          tentacleR = 0;
  46.          rDamp = 1;
  47.          segAngleOffset = 0;
  48.          segLength = 0;
  49.          sinNum = Math.random() * 5;
  50.          sinVel = 0.015 + Math.random() * 0.1;
  51.          super(bmd);
  52.          _drawMethod = DMETHOD.Slow;
  53.          _persistent = true;
  54.          _lockScale = true;
  55.          _objectType = OBJ_TYPES.GP;
  56.          solid = true;
  57.          z = 1.8;
  58.          roY = bmd.height / 2 * 0.9;
  59.          segLength = bmd.height * 0.75;
  60.          segAngleOffset = 1.57;
  61.       }
  62.       
  63.       override public function fStep() : *
  64.       {
  65.          var vec:* = undefined;
  66.          var tsr:Number = NaN;
  67.          super.fStep();
  68.          sinNum += sinVel;
  69.          if(prevSeg)
  70.          {
  71.             vec = getVector(prevSeg.segAngleOffset + prevSeg.r * 1,prevSeg.segLength * 1);
  72.             x = prevSeg.x + vec.x;
  73.             y = prevSeg.y + vec.y;
  74.             _localR = Math.sin(sinNum) * 0.6;
  75.             _localR *= 0.25 + segNum * 0.1;
  76.             tsr = prevSeg.r + rOffset * (1 + segNum * 0.4) + rOffsetRand;
  77.             _localR += (tsr - r) * 0.1;
  78.          }
  79.          else
  80.          {
  81.             x = segX;
  82.             y = segY;
  83.             _localR = Math.sin(sinNum) * 0 + tentacleR;
  84.          }
  85.          r = rOffsetBase + _localR;
  86.       }
  87.    }
  88. }
  89.